// 在区间[min，max]中 取一个整数
function getRandomInt(min, max) {
    return Math.floor(Math.random() * (max - min + 1) + min)
}

// 打乱数字顺序
export function shuffle(arr) {
    let _arr = arr.slice()
    for (let i = 0, len = _arr.length; i < len; i++) {
        let random = getRandomInt(0, i)
        let t = _arr[i]
        _arr[i] = _arr[random]
        _arr[random] = t
    }
    return _arr
}

// 边界处理函数
export function setNumOnRange(value, top, bottom) {
    if (value > top) {
        value = top
    } else if (value < bottom) {
        value = bottom
    }

    return value
}

// 截流函数
export function debounce(func, delay) {
    let timer

    return function (...args) {
        if (timer) {
            clearTimeout(timer)
        }

        timer = setTimeout(() => {
            func.apply(this, args)
        }, delay)
    }
}

export function Trim(str) {
    return str.replace(/(^\s*)|(\s*$)/g, '')
}